(function(root, factory) {
    factory.bind(root);

    if (typeof exports === 'object' && typeof module === 'object') {
        module.exports = factory();
    } else if (typeof define === 'function' && define.amd) {
        define("wtools", [], factory);
    } else if (typeof exports === 'object') {
        exports["wtools"] = factory();
    } else {
        root["wtools"] = factory();
    }
})(typeof window !== "undefined" ? window : this, function () {
    "use strict";

    // = include common/ext/const.js
    // = include common/installer.js

    const trace = function () { };

    // = include common/ext/polyfill.js
    // = include common/ext/wx.js
    // = include common/ext/util.js
    // = include common/ext/cache.js
    // = include common/config.js
    // = include common/ext/api.js
    // = include common/ext/component.js

    installer.install("wx", wx);
    installer.install("util", util);
    installer.install("cache", cache);
    installer.append("config", config);
    installer.install("api", api);
    installer.install("component", component);
    installer.append("polyfill", polyfill);

    return installer.get();
});